const http = require('http');
// 先安装 npm install qcloudsms_js
var QcloudSms = require("qcloudsms_js");
// 短信应用 SDK AppID
var appid = 1400161312;  // SDK AppID 以1400开头
// 短信应用 SDK AppKey
var appkey = "6e9366c45f2aad8cf98c05e0d9aac380";

// "13929559054",
// 短信模板 ID，需要在短信控制台中申请
var templateId = 82284;  // NOTE: 这里的模板ID`7839`只是示例，真实的模板 ID 需要在短信控制台中申请
// 签名
var smsSign = "千锋互联";  // NOTE: 签名参数使用的是`签名内容`，而不是`签名ID`。这里的签名"腾讯云"只是示例，真实的签名需要在短信控制台申请
// 实例化 QcloudSms
var qcloudsms = QcloudSms(appid, appkey);
// 设置请求回调处理, 这里只是演示，用户需要自定义相应处理回调


var ssender = qcloudsms.SmsSingleSender();



module.exports = {
    tx(mobile,random,expires='2'){
        return new Promise((resolve,reject)=>{
            var params = [random, expires];
            ssender.sendWithParam("86", mobile, templateId,params, smsSign, "", "", function (err, res, resData) {
                if (err) {
                    reject(err);
                } else {
                    resolve(resData);
                }
            });
        })
    },
    ali(mobile,random){
        return new Promise((resolve,reject)=>{
            // 发送到手机
            // 签名模板仅用于测试：TP18040317
            let request = http.request(
                //`http://toushitz.market.alicloudapi.com/ts/notifySms?mobile=${mobile}&param=code:${vcode}&tpl_id=TP1710262`,
                `http://feginesms.market.alicloudapi.com/codeNotice?param=${random}&phone=${mobile}&sign=1&skin=1`,
                {
                    //hostname:'toushitz.market.alicloudapi.com',
                    //path:'/ts/notifySms?APPCODE=35412e94c444407c9a430ee331ac3d31',
                    // method:'POST',
                    headers:{
                        Authorization:`APPCODE 35412e94c444407c9a430ee331ac3d31`
                    }
                },
                (response)=>{
                    let rawData = '';
                    response.on('data', (chunk) => { rawData += chunk;});
                    response.on('end', () => {
                        try {
                            // const {data} = JSON.parse(rawData);
                            resolve(rawData)
                        } catch (e) {
                            reject(e.message);
                        }
                    });
                }
            )
            // request.write(postData);
            request.end();
        })
        
    }
}